home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_1
/
nyquist
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
2KB
From en.ecn.purdue.edu!noose.ecn.purdue.edu!samsung!uakari.primate.wisc.edu!caen!news.cs.indiana.edu!msi.umn.edu!noc.MR.NET!gacvx2.gac.edu!hhdist 22 Feb 91 07:02:09 GMT
Path: en.ecn.purdue.edu!noose.ecn.purdue.edu!samsung!uakari.primate.wisc.edu!caen!news.cs.indiana.edu!msi.umn.edu!noc.MR.NET!gacvx2.gac.edu!hhdist
From: wong@enel.ucalgary.ca (Raymond Wong)
Newsgroups: comp.sys.handhelds
Subject: RE: Nyquist Plot Program
Message-ID: <9102220702.AA13535@enel.enel.ucalgary.ca>
Date: 22 Feb 91 07:02:09 GMT
Lines: 36
Return-path: <wong@enel.ucalgary.ca>
To: handhelds@gac.edu
I have created two small programs for doing Nyquist plots, NYQL (does a line
plot) and NYQUIST (does a point plot). Also in the directory is G, which
is the open-loop transfer function in terms of 'S'. To do different equations
and values of gain just edit 'G'. To plot in different ranges of
frequency (W) and step rates, simply change the values in the FOR STEP loop.
Change plot x/y parameters to approprate Real/Imaginary range of plot.
Hope this will help... although I'm sure it could be improved, at least it
gets the job done.
%%HP: T(3)A(D)F(.);
DIR
G
\<< \-> S '10/(S*(S @ edit this transfer function, leave \-> S
+1)*(S+2))' @ in tact
\>>
PPAR { (-5,-10) @ Real/Imaginary range of plot
(.1,20) W 0 (0,0)
FUNCTION C }
NYQUIST @ Nyquist point plot
\<< ERASE .001 @ Adjust .001 100 to appropriate start,
100 @ stop frequency range
FOR W i W * G
\->NUM PIXON PICT RCL
\->LCD .1 @ Adjust .1 to appropriate freq. step rate
STEP
\>>
NYQL @ Nyquist line plot
\<< ERASE .001 i
* G \->NUM .001 100 @ Adjust .001 100 to appropriate start,
FOR W i W * G @ stop frequency range
\->NUM DUP 3 ROLLD
LINE PICT RCL \->LCD
.5 @ Adjust .5 to appropriate freq. step rate
STEP
\>>
END